** Replication Files for System Justification in Authoritarian Regimes 
 
 ***************
 ** MAIN TEXT **
 ***************
 
 ***************************************************************
 ** Table 1: Correlates of System Justification
 ** Created with results presented in Table A5: Full Regression Results for Table 1 in Main Text
 ***************************************************************

 * use "data2025.dta" 

***************************************************************
** Table 2: System Justification and Regime Type Preferences
** Table A6: Full Regression Results for Table 2 in Main Text
***************************************************************

 * use "data2018.dta" 

***************************************************************
* Figure 3: Average Treatment Effects on Support for Authoritarianism 
 ***************************************************************

  * use "data2018.dta" 

reg auth_exp i.Treatment 
margins, dydx(Treatment) atmeans level(90)
est store d1

coefplot d1, drop(_cons) xline(0) saving(outcome1_treatment, replace) title("Average Treatment Effects") xtitle("Support for Authoritarianism") scheme(plotplainblind) yline(0) recast(scatter) ytitle("Treatment Assignment") level(90)
graph export "ate_treatment.eps", as(eps) replace

 ***************************************************************
** Figure 4: Marginal Effect of Treatment by SJ Index 
 ***************************************************************

  * use "data2018.dta" 

reg auth_exp i.Treatment##c.sj_mean age female edu urban econ_stab
margins r(0 1 2 3 4).Treatment, at(sj_mean = (1(1)4)) atmeans
marginsplot, by(Treatment) ytitle("Marginal Effect") yline(0) xtitle("System Justification") xlabel(1 "Least" 4 "Most" ,labsize(small)) scheme(plotplainblind) byopt(title("Interaction between Treatment and System Justification")) level(90)
saving(experimentdx_20250623, replace) 

********************************************************************
** Table 3: System Justification and Regime Support ****************
** See Table A8: Full Regression Results for Table 3 in Main Text **
********************************************************************

 ***************************************************************
* Table 4. System Justification and Political Participation
** See Table A9: Full Regression Results for Table 4 in Main Text **
 ***************************************************************

**************
** APPENDIX **
**************
* Table A1

* use "data2018.dta" 

su sj_mean sisi_app active_2 active_4 vote_past_2 vote_past vote_future protect_rolecon violate islamism age female edu urban econ_stab

* Table A2

*use "data2018.dta" 
tabstat sj_mean age female edu urban econ_stab, statistics(mean sd min max n) by(Treatment)

* Table A3: Summary Statistics for 2025 Survey
* use "data2025.dta" 

su sj_mean orderv decis extra agree consv emo open meanv death rwa sdo female age_group educ income relig

*****************************************************************
** Table A5: Full Regression Results for Table 1 in Main Text  **
*****************************************************************

* use "data2025.dta" 

est clear
reg sj_mean orderv decis
outreg2 using tableA5.doc, word adjr2 level(95)

est clear
reg sj_mean extra agree consv emo open
outreg2 using tableA5.doc, word adjr2 level(95)

est clear
reg sj_mean meanv
outreg2 using tableA5.doc, word adjr2 level(95)

est clear
reg sj_mean death
outreg2 using tableA5.doc, word adjr2 level(95)

est clear
reg sj_mean rwa sdo
outreg2 using tableA5.doc, word adjr2 level(95)

est clear
reg sj_mean female age_group educ income relig
outreg2 using tableA5.doc, word adjr2 level(95)

****************************************************************
** Table A6: Full Regression Results for Table 2 in Main Text **
****************************************************************

* use "data2018.dta" 
 
summarize protect_rolecon, detail
* protect_rolecon skewness == 1.262174
 
 summarize violate, detail
* violate skewness == 1.458403

gen lprotect_rolecon = ln(protect_rolecon + 1)
gen lviolate = ln(violate)

est clear

reg lprotect_rolecon sj_mean  
outreg2 using tableA6.doc, word adjr2 level(95)

reg lprotect_rolecon sj_mean age female edu urban econ_stab 
outreg2 using tableA6.doc, word adjr2 level(95)

reg lviolate sj_mean  
outreg2 using tableA6.doc, word adjr2 level(95)

reg lviolate sj_mean age female edu urban econ_stab 
outreg2 using tableA6.doc, word adjr2 level(95)

est clear 

*******************************************************************************
** Figure A1: Support for Authoritarianism by Levels of System Justification **
*******************************************************************************

** Left panel

gsem lprotect_rolecon <- sj_mean age female edu urban econ_stab
margins, expression(exp(predict(eta))*(exp((_b[/var(e.lprotect_rolecon)])/2))) at(sj_mean=(1(1)4)) atmeans level(90)
marginsplot

** Right panel

 gsem lviolate <- sj_mean age female edu urban econ_stab
margins, expression(exp(predict(eta))*(exp((_b[/var(e.lviolate)])/2))) at(sj_mean=(1(1)4)) atmeans level(90)
marginsplot

********************************************************************************************
** Figure A2: Average Treatment Effects on Each Component of Support for Authoritarianism **
********************************************************************************************

** Left panel
est clear
reg outcome1 i.Treatment
margins, dydx(Treatment)
est store d2

coefplot d2, drop(_cons) xline(0) saving(outcome2_treatment, replace) title("Average Treatment Effects") scheme(plotplainblind) yline(0) recast(scatter) ytitle("Treatment Assignment")  xtitle("Preference for non-democratic government")
graph export "A2_left.eps", as(eps) replace

** Right panel
est clear 
reg outcome2 i.Treatment
margins, dydx(Treatment)
est store d3

coefplot d3, drop(_cons) xline(0) saving(outcome2_treatment, replace) title("Average Treatment Effects") scheme(plotplainblind) yline(0) recast(scatter) ytitle("Treatment Assignment")  xtitle("Preference for strong leader")
graph export "A2_right_treatment.eps", as(eps) replace

*******************************************************************
** Table A7: Interaction Between Threat and System Justification **
*******************************************************************

* use "data2018.dta" 

est clear

reg auth_exp i.Treatment
outreg2 using tableA7.doc, word adjr2 level(95)

reg auth_exp i.Treatment c.sj_mean 
outreg2 using tableA7.doc, word adjr2 level(95)

reg auth_exp i.Treatment c.sj_mean age female edu urban econ_stab
outreg2 using tableA7.doc, word adjr2 level(95)

reg auth_exp i.Treatment##c.sj_mean 
outreg2 using tableA7.doc, word adjr2 level(95)

reg auth_exp i.Treatment##c.sj_mean age female edu urban econ_stab
outreg2 using tableA7.doc, word adjr2 level(95)

est clear

****************************************************************
** Table A8: Full Regression Results for Table 3 in Main Text **
****************************************************************

* use "data2018.dta" 

est clear

reg sisi_app sj_mean  
outreg2 using tableA8.doc, word adjr2 level(95)

reg sisi_app islamism
outreg2 using tableA8.doc, word adjr2 level(95)

reg sisi_app protect_rolecon violate
outreg2 using tableA8.doc, word adjr2 level(95)

reg sisi_app sj_mean islamism age female edu urban econ_stab
outreg2 using tableA8.doc, word adjr2 level(95)

reg sisi_app sj_mean islamism protect_rolecon violate age female edu urban econ_stab
outreg2 using tableA8.doc, word adjr2 level(95)

est clear

****************************************************************
** Table A9: Full Regression Results for Table 4 in Main Text **
****************************************************************

* use "data2018.dta" 

est clear

reg active_2 sj_mean islamism age female edu urban econ_stab
outreg2 using tableA9.doc, word adjr2 level(95)

reg active_4 sj_mean islamism age female edu urban econ_stab 
outreg2 using tableA9.doc, word adjr2 level(95)

reg vote_past_2 sj_mean islamism age female edu urban econ_stab
outreg2 using tableA9.doc, word adjr2 level(95)

reg vote_past sj_mean islamism age female edu urban econ_stab
outreg2 using tableA9.doc, word adjr2 level(95)

reg vote_future sj_mean islamism age female edu urban econ_stab 
outreg2 using tableA9.doc, word adjr2 level(95)

est clear

**************************************************************************************
** Table A10: Political Behavior, System Justification, and Regime Type Preferences **
**************************************************************************************

* use "data2018.dta" 

est clear

reg active_2 sj_mean islamism protect_rolecon violate age female edu urban econ_stab
outreg2 using tableA10.doc, word adjr2 level(95)

reg active_4 sj_mean islamism protect_rolecon violate age female edu urban econ_stab 
outreg2 using tableA10.doc, word adjr2 level(95)

reg vote_past_2 sj_mean islamism protect_rolecon violate age female edu urban econ_stab
outreg2 using tableA10.doc, word adjr2 level(95)

reg vote_past sj_mean islamism protect_rolecon violate age female edu urban econ_stab
outreg2 using tableA10.doc, word adjr2 level(95)

reg vote_future sj_mean islamism protect_rolecon violate age female edu urban econ_stab 
outreg2 using tableA10.doc, word adjr2 level(95)

est clear